﻿// 2-1 输出全排列 (20分).cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
/*

#include <iostream>
using namespace std;
int qpl(int& i,int n)
{
	cout << i;

	for (; i < n; )
	{
		i++;
		qpl(i, n);
	}
	return 0;
}
int main()
{
	int i, j, n, k;
	cin >> n;
	i = 1;
	qpl(i, n);

   
}
*/
#include <iostream>
#include <algorithm>
#include <string>

using namespace std;

int main()
{
	string str;
	int n;
	cin >> n;
	for (; n>0;n-- )
	{
		str.insert(0,to_string(n));
	}
	

	//cin >> str;
	sort(str.begin(), str.end());
	cout << str << endl;
	while (next_permutation(str.begin(), str.end()))
	{
		cout << str << endl;
	}
	return 0;
}

